package com.irdstudio.efp.esb.api.bean.yx;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.irdstudio.basic.framework.core.annotation.BeanMapKey;
import com.irdstudio.basic.framework.core.annotation.DicType;
import com.irdstudio.efp.esb.api.common.GroupeInterface.bd;
import com.irdstudio.efp.esb.common.constant.nls.ChanFlgEnum;
import com.irdstudio.efp.esb.common.constant.nls.LmtRcvrTpEnum;

/**
 * 网贷用信查询
  * @author heyingfeng
  * @since 2019年3月13日 下午4:25:48
  * @version 1.0
 */
@JsonPropertyOrder(alphabetic = true)
public class ReqBraRecoverBean {
	@BeanMapKey("AppFlowNo")
	@JsonProperty("AppFlowNo")
	@NotEmpty
	@Length(max = 64)
	private String AppFlowNo;// 申请流水号

	@BeanMapKey("ChanFlg")
	@JsonProperty("ChanFlg")
	@NotEmpty
	@Length(max = 6,groups= {bd.class})
	@DicType(dicType = ChanFlgEnum.class, method = "getValue",groups= {bd.class})
	private String ChanFlg;// 渠道
	
	@BeanMapKey("LoanOrdrNo")
	@JsonProperty("LoanOrdrNo")
	@NotEmpty
	@Length(max = 32)
	private String LoanOrdrNo;//贷款订单号
	
	@BeanMapKey("DblNo")
	@JsonProperty("DblNo")
	@NotEmpty
	@Length(max = 32)
	private String DblNo;//借据号
	
	@BeanMapKey("AcctDt")
	@JsonProperty("AcctDt")
	@NotEmpty(groups= {bd.class})
	@Length(max = 10,groups= {bd.class})
	private String AcctDt;//账务日期
	
	@BeanMapKey("TransTm")
	@JsonProperty("TransTm")
	@NotEmpty(groups= {bd.class})
	@Length(max = 25,groups= {bd.class})
	private String TransTm;//交易时间
	
	@BeanMapKey("RpyPrinAmt")
	@JsonProperty("RpyPrinAmt")
	@NotEmpty
	@Length(max = 30 ,groups = {bd.class})
	private String RpyPrinAmt;//还款本金金额
	
	@BeanMapKey("LmtRcvrTp")
	@JsonProperty("LmtRcvrTp")
	@NotEmpty
	@Length(max = 10,groups= {bd.class})
	@DicType(dicType = LmtRcvrTpEnum.class, method = "getValue")
	private String LmtRcvrTp;//额度恢复类型 
	
	@BeanMapKey("VerNo")
	@JsonProperty("VerNo")
	@NotEmpty
	@Length(max = 32,groups= {bd.class})
	private String VerNo;//版本号
	
	@BeanMapKey("Rmk")
	@JsonProperty("Rmk")
	@Length(max = 500,groups= {bd.class})
	private String Rmk;//备注

	@BeanMapKey("DistrOrdrNo")
	@JsonProperty("DistrOrdrNo")
	@NotEmpty
	@Length(max = 64)
	private String DistrOrdrNo; // 放款订单号

	@BeanMapKey("TotRpyAmt")
	@JsonProperty("TotRpyAmt")
	@NotEmpty
	@Length(max = 30,groups= {bd.class})
	private String TotRpyAmt; // 总还款金额
	
	/**
	 * @return the loanOrdrNo
	 */
	public String getLoanOrdrNo() {
		return LoanOrdrNo;
	}
	/**
	 * @param loanOrdrNo the loanOrdrNo to set
	 */
	public void setLoanOrdrNo(String loanOrdrNo) {
		LoanOrdrNo = loanOrdrNo;
	}
	/**
	 * @return the dblNo
	 */
	public String getDblNo() {
		return DblNo;
	}
	/**
	 * @param dblNo the dblNo to set
	 */
	public void setDblNo(String dblNo) {
		DblNo = dblNo;
	}
	/**
	 * @return the acctDt
	 */
	public String getAcctDt() {
		return AcctDt;
	}
	/**
	 * @param acctDt the acctDt to set
	 */
	public void setAcctDt(String acctDt) {
		AcctDt = acctDt;
	}
	/**
	 * @return the transTm
	 */
	public String getTransTm() {
		return TransTm;
	}
	/**
	 * @param transTm the transTm to set
	 */
	public void setTransTm(String transTm) {
		TransTm = transTm;
	}
	/**
	 * @return the rpyPrinAmt
	 */
	public String getRpyPrinAmt() {
		return RpyPrinAmt;
	}
	/**
	 * @param rpyPrinAmt the rpyPrinAmt to set
	 */
	public void setRpyPrinAmt(String rpyPrinAmt) {
		RpyPrinAmt = rpyPrinAmt;
	}
	/**
	 * @return the lmtRcvrTp
	 */
	public String getLmtRcvrTp() {
		return LmtRcvrTp;
	}
	/**
	 * @param lmtRcvrTp the lmtRcvrTp to set
	 */
	public void setLmtRcvrTp(String lmtRcvrTp) {
		LmtRcvrTp = lmtRcvrTp;
	}
	/**
	 * @return the verNo
	 */
	public String getVerNo() {
		return VerNo;
	}
	/**
	 * @param verNo the verNo to set
	 */
	public void setVerNo(String verNo) {
		VerNo = verNo;
	}
	/**
	 * @return the rmk
	 */
	public String getRmk() {
		return Rmk;
	}
	/**
	 * @param rmk the rmk to set
	 */
	public void setRmk(String rmk) {
		Rmk = rmk;
	}
	public String getChanFlg() {
		return ChanFlg;
	}
	public void setChanFlg(String chanFlg) {
		ChanFlg = chanFlg;
	}
	public String getAppFlowNo() {
		return AppFlowNo;
	}
	public void setAppFlowNo(String appFlowNo) {
		AppFlowNo = appFlowNo;
	}

	public String getDistrOrdrNo() {
		return DistrOrdrNo;
	}

	public void setDistrOrdrNo(String distrOrdrNo) {
		DistrOrdrNo = distrOrdrNo;
	}

	public String getTotRpyAmt() {
		return TotRpyAmt;
	}

	public void setTotRpyAmt(String totRpyAmt) {
		TotRpyAmt = totRpyAmt;
	}
}
